const jwt = require('jsonwebtoken');

// 验证 token 中间件
const verifyToken = (req, res, next) => {
  const token = req.headers.authorization; // 从请求头中获取 token
  if (!token) {
    return res.status(401).json({ message: '请登录！' }); // 如果没有 token，返回 401 错误
  }

  try {
    const decoded = jwt.verify(token, 'test'); // 验证 token
    req.user = decoded; // 将解码后的用户信息保存到请求对象中
    next(); // 继续执行下一个中间件或路由处理函数
  } catch (error) {
    if(!token) {
        return res.status(403).json({ message: '接口未授权！' }); // 如果 token 不正确，返回 403 错误
    } else {
        return res.status(403).json({ message: 'token已过期，请重新登录' }); // 如果 token 不正确，返回 403 错误
    }
  }
};

module.exports = verifyToken;